﻿#define _CRT_SECURE_NO_WARNINGS 1

#include<stdio.h>

//union Un {
//	char name[10]; //10  1  8  1
//	int age;	  // 4   4  8  4
//};
//
//int main() {
//	union Un u = { 0 };
//	printf("%zd", sizeof(u));
//	return 0;
//}

//代码1
//#include <stdio.h>
////联合类型的声明
//union Un
//{
//	char c;
//	int i;
//};
//int main()
//{
//	//联合变量的定义
//	union Un un = { 0 };
//	// 下⾯输出的结果是⼀样的
//	printf("%p\n", &(un.i));
//	printf("%p\n", &(un.c));
//	printf("%p\n", &un);
//	return 0;
//}


//union Un
//{
//	char c;
//	int i;
//};
//int main()
//{
//	//联合变量的定义
//	union Un un = { 0 };
//	un.i = 0x11223344;
//	un.c = 0x55;    //会把44改为55
//	printf("%x\n", un.i);
//	return 0;
//}

//union Un1
//{
//	char c[5];//5 1 8 1
//	int i;    //4 4 8 4
//};
//union Un2
//{
//	short c[7];//14 2 8 2
//	int i;     // 4 4 8 4
//};
//int main()
//{
//	//下⾯输出的结果是什么？
//	printf("%d\n", sizeof(union Un1));   //8
//	printf("%d\n", sizeof(union Un2));   //16
//	return 0;
//}

/*每⼀种商品都有：库存量、价格、商品类型
图书：书名、作者、⻚数
杯⼦：设计
衬衫：设计、可选颜⾊、可选尺⼨*/

//使用结构体（浪费空间）
//struct gift_list
//{
//	//公共属性
//	int stock_number;//库存量
//	double price; //定价
//	int item_type;//商品类型

//	//特殊属性
//	char title[20];//书名
//	char author[20];//作者
//	int num_pages;//⻚数
//
//	char design[30];//设计
//	int colors;//颜⾊
//	int sizes;//尺⼨
//};

////使用联合体
//struct gift_list {
//	//公共属性
//	int stock_number;//库存量
//	double price; //定价
//	int item_type;//商品类型
//	union {
//		struct {
//			char title[20];//书名
//			char author[20];//作者
//			int num_pages;//⻚数
//		}book;
//		struct {
//			char design[30];//设计
//		}mug;
//		struct {
//			char design[30];//设计
//			int colors;//颜⾊
//			int sizes;//尺⼨
//		}shirt;
//	}item;
//};

//写⼀个程序，判断当前机器是⼤端？还是⼩端？
int check_sys() {
	union un {
		int i;
		char j;
	}un;
	un.i = 1;
	return un.j;
}

int main() {
	int ret = check_sys();
	if (ret == 1)
		printf("小端");
	else
		printf("大端");
	return 0;
}

//枚举类型的声明
//enum sex {
//	MALE,
//	FEMALE,
//	SECRET
//};
//
//enum Day {
//	Mon,
//	Tues,
//	Wed,
//	Thur,
//	Fri,
//	Sat,
//	Sun
//};
//
//int main() {
//	enum Day u = Mon;
//	return 0;
//}